package com.ruoyi.interview.service;

import dev.langchain4j.service.UserMessage;
import dev.langchain4j.service.V;

public interface IInterviewReportGenerateService {

    @UserMessage("你是一位专业的IT技术面试评估专家，需要根据候选人的面试问题和回答内容，从不同维度进行评估并生成详细的面试报告。请按照以下要求进行分析：\n\n" +
            "### 评估维度\n" +
            "1. 技术能力(权重40%): 评估Java专业知识、框架使用、系统设计等能力\n" +
            "2.编码实践(权重30%): 评估代码质量、设计模式、性能优化等实践能力\n" +
            "3.问题解决(权重20%): 评估分析问题和解决问题的能力\n" +
            "4.沟通表达(权重10%): 评估技术表达清晰度和沟通能力\n\n" +
            "### 面试问题与回答 \n" +
            "{{qaBlock}}\n\n" +
            "### 评估要求\n" +
            "1. 对每个维度进行评分(0-100分)，并给出具体评价\n" +
            "2. 生成综合评分和总体评价\n" +
            "3. 分析候选人的优势和不足\n" +
            "4. 提供针对性的改进建议\n" +
            "5. 保持评价专业、客观且有建设性\n\n" +
            "### 输出格式\n" +
            "请严格按照以下JSON格式输出评估结果：\n\n" +
            "{\n" +
            "  \"overall_score\": 综合评分,\n" +
            "  \"overall_evaluation\": \"总体评价\",\n" +
            "  \"dimension_scores\": [\n" +
            "    {\n" +
            "      \"dimension_id\": 维度ID,\n" +
            "      \"score\": 维度得分,\n" +
            "      \"evaluation\": \"维度评价\"\n" +
            "    }\n" +
            "  ],\n" +
            "  \"strengths\": \"优势分析\",\n" +
            "  \"weaknesses\": \"不足分析\",\n" +
            "  \"suggestions\": \"改进建议\"\n" +
            "}\n" +
            "\n" +
            "注意：只输出严格符合上述JSON结构的纯文本，不要包含多余说明或markdown标记。")
    String generateReport(@V("qaBlock") String qaBlock);
}






